package API.StringBuffer_StringBuilder_API;/*
 *
 * @author 陈粒
 * @version 创建时间：2021/7/12 17:21
 */

/**
 * StringBuffer常用方法：
 * 1.append：
 * 作用：是在一个StringBuffer对象后面追加指定类型的字符串。如int,char,String,double,char[]等等
 * 特点：线程安全
 * 注意：double类型的点“.”也算到字符串类型中
 * 重点注意：1.添加除String类型以外的类型进StringBuffer里需用String.valueOf(该类型的变量名)方法
 *         2.append后面拼接的字符串不能太大，否则会出现OutOfMemoryError异常
 */
public class StringBuffer_append {
    public static void main(String[] args) {
        StringBuffer sbf_ad1 = new StringBuffer("年").append("级一");//追加String类型字符串
        System.out.println(sbf_ad1);
        System.out.println("------------------------");
        boolean b = true;
        boolean c = false;
        StringBuffer sbf_ad2 = new StringBuffer(String.valueOf(b)).append(c);//追加boolean类型字符串
        System.out.println(sbf_ad2);
        System.out.println("------------------------");
        char[] ca = new char[10];
        for (int i = 0; i < ca.length; i++) {
            ca[i] = (char) (65 + i);//将int类型的值强制转换为ascll码表的值
        }
        char[] ca2 = new char[3];
        ca2[0] = '字';
        ca2[1] = '母';
        ca2[2] = '表';
        StringBuffer sbf_ad3 = new StringBuffer(String.valueOf(ca))   .append(ca2);//将字符数组转换为String类型字符串，之后追加字符数组类型字符串
        System.out.println(sbf_ad3);
        System.out.println("------------------------");
        double x = 1;
        int y = 2;
        StringBuffer sbf_ad4 = new StringBuffer(String.valueOf(x));//追加double类型字符串，double类型的点“.”也算到字符串类型中
        StringBuffer sbf_ad5 = new StringBuffer(String.valueOf(y)).append(sbf_ad4);//将指定的内容的StringBuffer对象附加到此序列。
        System.out.println(sbf_ad5);
    }
}
